package com.gnerv.battle.boot.module.base.repository.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Gnerv LiGen
 */
@Mapper
public interface OrgAccountMapper {

    /**
     *
     * @param accountUkId
     * @param orgUkIdList
     * @return
     */
    int insertAccountOrg(@Param(value = "accountUkId") String accountUkId,
                         @Param(value = "orgUkIdList") List<String> orgUkIdList,
                         @Param(value = "creator") String creator);

    /**
     *
     * @param orgUkId
     * @param accountUkIdList
     * @return
     */
    int insertOrgAccount(@Param(value = "orgUkId") String orgUkId,
                         @Param(value = "accountUkIdList") List<String> accountUkIdList,
                         @Param(value = "creator") String creator);

    /**
     *
     * @param accountUkId
     * @return
     */
    int deleteByAccountUkId(@Param(value = "accountUkId") String accountUkId);

    int deleteByAccountUkIds(@Param(value = "accountUkIds") List<String> accountUkIds);

    /**
     *
     * @param orgUkId
     * @return
     */
    int deleteByOrgUkId(@Param(value = "orgUkId") String orgUkId);

    /**
     *
     * @param accountUkId
     * @return
     */
    String selectOrgUkIdByAccountUkId(@Param(value = "accountUkId") String accountUkId);

    /**
     *
     * @param orgUkId
     * @return
     */
    List<String> listAccountUkIdByOrgUkId(@Param(value = "orgUkId") String orgUkId);

}
